package sv.gob.mh.dgii.model;

// Generated Dec 12, 2007 3:08:52 PM by Hibernate Tools 3.2.0.CR1

import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.validation.constraints.NotNull;


/**
 * TbPeriodicidad generated by hbm2java
 */
@Entity
@Table(name = "TB_PERIODICIDAD", schema = "CATALOGOS")
public class TbPeriodicidad implements java.io.Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private String cperiodicidad;
	private String cusuario;
	private String dperiodicidad;
	private Integer bstatus;
	private Date fhingreso;
	private Set<TbObligacion> tbObligacions = new HashSet<TbObligacion>(0);

	public TbPeriodicidad() {
	}
	
	public TbPeriodicidad(String cperiodicidad) {
		this.cperiodicidad = cperiodicidad;
	}

	public TbPeriodicidad(String cperiodicidad, String cusuario,
			String dperiodicidad, Integer bstatus, Date fhingreso) {
		this.cperiodicidad = cperiodicidad;
		this.cusuario = cusuario;
		this.dperiodicidad = dperiodicidad;
		this.bstatus = bstatus;
		this.fhingreso = fhingreso;
	}

	public TbPeriodicidad(String cperiodicidad, String cusuario,
			String dperiodicidad, Integer bstatus, Date fhingreso,
			Set<TbObligacion> tbObligacions) {
		this.cperiodicidad = cperiodicidad;
		this.cusuario = cusuario;
		this.dperiodicidad = dperiodicidad;
		this.bstatus = bstatus;
		this.fhingreso = fhingreso;
		this.tbObligacions = tbObligacions;
	}

	@Id
	@Column(name = "C_PERIODICIDAD", unique = true, nullable = false, length = 1)
       	@NotNull
	public String getCperiodicidad() {
		return this.cperiodicidad;
	}

	public void setCperiodicidad(String cperiodicidad) {
		this.cperiodicidad = cperiodicidad;
	}

	@Column(name = "C_USUARIO", nullable = false, length = 30)
       	@NotNull
	public String getCusuario() {
		return this.cusuario;
	}

	public void setCusuario(String cusuario) {
		this.cusuario = cusuario;
	}

	@Column(name = "D_PERIODICIDAD", nullable = false, length = 10)
	@NotNull
	public String getDperiodicidad() {
		return this.dperiodicidad;
	}

	public void setDperiodicidad(String dperiodicidad) {
		this.dperiodicidad = dperiodicidad;
	}

	@Column(name = "B_STATUS", nullable = false, precision = 1, scale = 0)
	@NotNull
	public Integer getBstatus() {
		return this.bstatus;
	}

	public void setBstatus(Integer bstatus) {
		this.bstatus = bstatus;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "FH_INGRESO", nullable = false, length = 7)
	@NotNull
	public Date getFhingreso() {
		return this.fhingreso;
	}

	public void setFhingreso(Date fhingreso) {
		this.fhingreso = fhingreso;
	}

	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "tbPeriodicidad")
	public Set<TbObligacion> getTbObligacions() {
		return this.tbObligacions;
	}

	public void setTbObligacions(Set<TbObligacion> tbObligacions) {
		this.tbObligacions = tbObligacions;
	}

}
